e9ed3ff64ef733a5df5c7a966719f66d8f1998e9,src/main/org/codehaus/groovy/transform/ImmutableASTTransformation.java,ImmutableASTTransformation,validateConstructors,#ClassNode#,415

Before Change


    private boolean validateConstructors(ClassNode cNode) {
        if (cNode.getDeclaredConstructors().size() != 0) {
            // TODO: allow constructors which only call provided constructor?
            addError("Explicit constructors not allowed for " + MY_TYPE_NAME + " class: " + cNode.getNameWithoutPackage(), cNode.getDeclaredConstructors().get(0));
        }
        return true;
    }

After Change


    }

    private boolean validateConstructors(ClassNode cNode) {
        List<ConstructorNode> declaredConstructors = cNode.getDeclaredConstructors();
        for (ConstructorNode constructorNode : declaredConstructors) {
            // allow Synthetic constructors added by other transforms
            if ((constructorNode.getModifiers() & ACC_SYNTHETIC) != 0) {
                continue;